SOLID Yazılım İlkeleri
Görünüm
Bu madde, öksüz maddedir; zira herhangi bir maddeden bu maddeye verilmiş bir bağlantı yoktur. (Eylül 2022) |
Yazılım mühendisliğinde S.O.L.I.D. nesnesel tasarımları daha anlaşılır, esnek ve sürdürülebilir kılmayı amaçlayan, beş tasarım ilkesinin anımsatıcı bir kısaltmasıdır. Bu ilkeler, Amerikalı yazılım mühendisi ve eğitmen Robert C. Martin tarafından tanıtılan ilkelerin bir alt kümesi olan bu ilkeler, ilk olarak 2000 yılında yayımlanan Tasarım İlkeleri ve Tasarım Modelleri makalesinde tanıtılmıştır.[1][2][3][4]
S.O.L.I.D. ilkeleri:
- Tek sorumluluk ilkesi: Bir sınıf, ancak bir tek sebeple değiştirilmelidir.[5][6]
- Açıklık - Kapalılık İlkesi: Yazılım varlıkları, genişlemeye açık ama değişikliğe kapalı tutulmalıdır.[7]
- Liskov İkame İlkesi: Temel sınıflara işaretçiler veya referanslar kullanarak bağlanan metotlar, temel sınıflardan türetilmiş sınıfların nesnelerini bilmeden onları kullanabilmelidir.[8]
- Arayüz Ayrımı İlkesi: İstemciye özel arayüzler, genel amaçlı bir tek arayüzden daha iyidir[4][9]
- Bağımlılığın Tersine Çevrilmesi: Somutlamalara değil, soyutlamalara odaklan.[4][10]
S.O.L.I.D. kısaltması, 2004'te Michael Feathers tarafından takdim edildi.[11]
S.O.L.I.D. ilkeleri herhangi bir nesnesel tasarım için geçerli olsa da, çevik geliştirme veya uyarlanabilir yazılım geliştirme gibi metodolojiler için temel bir felsefe oluşturabilir.[3]
Ayrıca bakınız
[değiştir | kaynağı değiştir]Kaynakça
[değiştir | kaynağı değiştir]- ^ Robert C. Martin. "Principles Of OOD". butunclebob.com. 17 Nisan 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Temmuz 2014.. (Note the reference to "the first five principles", although the acronym is not used in this article.) Dates back to at least 2003.
- ^ Robert C. Martin. "Getting a SOLID start". objectmentor.com. 17 Eylül 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Ağustos 2013.
- ^ a b Sandi Metz (May 2009). "SOLID Object-Oriented Design". YouTube. 29 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. Talk given at the 2009 Gotham Ruby Conference.
- ^ a b c Martin, Robert C. (2000). "Design Principles and Design Patterns" (PDF). 6 Eylül 2015 tarihinde kaynağından (PDF) arşivlendi.
- ^ "Single Responsibility Principle" (PDF). objectmentor.com. 2 Şubat 2015 tarihinde kaynağından (PDF) arşivlendi.
- ^ Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. 2003. s. 95. ISBN 978-0135974445. 6 Kasım 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Temmuz 2022.
- ^ "Open/Closed Principle" (PDF). objectmentor.com. 5 Eylül 2015 tarihinde kaynağından (PDF) arşivlendi.
- ^ "Liskov Substitution Principle" (PDF). objectmentor.com. 5 Eylül 2015 tarihinde kaynağından (PDF) arşivlendi.
- ^ "Interface Segregation Principle" (PDF). objectmentor.com. 1996. 5 Eylül 2015 tarihinde kaynağından (PDF) arşivlendi.
- ^ "Dependency Inversion Principle" (PDF). objectmentor.com. 5 Eylül 2015 tarihinde kaynağından (PDF) arşivlendi.
- ^ Clean Architecture: A Craftsman's Guide to Software Structure and Design. 2018. s. 58. ISBN 9780134494166. 25 Temmuz 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Temmuz 2022. Yazar
|ad1=
eksik|soyadı1=
(yardım)